package com.example.qxfw.qxxx.service;

import com.example.qxfw.common.entity.qx.*;

import java.util.List;

public interface SumDataCommonService {
    /**
     * 按侯统计查询数据
     * @param type
     * @param tableName
     * @param cn
     * @param start
     * @param end
     * @return
     */
    List<SumRainHouData> getHouData(String type,String tableName, String cn, String start, String end);

    /**
     * 按旬查询数据
     * @param type
     * @param tableName
     * @param cn
     * @param start
     * @param end
     * @return
     */
    List<SumRainTdData> getXunData(String type,String tableName,String cn,String start,String end);

    /**
     * 按月统计数据
     * @param type
     * @param tableName
     * @param cn
     * @param start
     * @param end
     * @return
     */
    List<SumRainMonthData> getMonthData(String type,String tableName,String cn,String start,String end);

    /**
     * 按年统计数据
     * @param type
     * @param cn
     * @param start
     * @param end
     * @return
     */
    List<SumRainYearData> getYearData(String type,String tableName,String cn,String start,String end);

    /**
     * 删除日数据
     * @param tableName
     * @param year
     * @param month
     * @param day
     * @param stationId
     * @return
     */
    Integer deleteDayData(String tableName,String year,String month,String day,String stationId);

    /**
     * 插入日数据
     * @param tableName
     * @param sumRainDayData
     * @return
     */
    Integer saveDayData(String tableName, SumRainDayData sumRainDayData);

    /**
     * 删除侯数据
     * @param tableName
     * @param year
     * @param month
     * @param hou
     * @param stationId
     * @return
     */
    Integer deleteHouData(String tableName,String year,String month,String hou,String stationId);

    /**
     * 插入侯数据
     * @param tableName
     * @param sumRainHouData
     * @return
     */
    Integer saveHouData(String tableName,SumRainHouData sumRainHouData);

    /**
     * 删除旬数据
     * @param tableName
     * @param year
     * @param month
     * @param td
     * @param stationId
     * @return
     */
    Integer deleteXunData(String tableName,String year,String month,String td,String stationId);

    /**
     * 插入旬数据
     * @param tableName
     * @param sumRainTdData
     * @return
     */
    Integer saveXunData(String tableName,SumRainTdData sumRainTdData);

    /**
     * 删除月数据
     * @param tableName
     * @param year
     * @param month
     * @param stationId
     * @return
     */
    Integer deleteMonthData(String tableName,String year,String month,String stationId);

    /**
     * 插入月数据
     * @param tableName
     * @return
     */
    Integer saveMonthData(String tableName, SumRainMonthData sumRainMonthData);

    /**
     * 删除年数据
     * @param tableName
     * @param year
     * @param stationId
     * @return
     */
    Integer deleteYearData(String tableName,String year,String stationId);

    /**
     * 保存年数据
     * @param tableName
     * @param sumRainYearData
     * @return
     */
    Integer saveYearData(String tableName,SumRainYearData sumRainYearData);

    /**
     * 获取年平均数据
     * @return
     */
    List<SumRainYearData> getYearAvg(String tableName,String name,String y1,String y2,String stationName);

    List<SumRainYearData> getYear1(String tableName, String sumindicatorname,String stationname, String y1,String y2);

    List<SumRainYearData> getYear2(String tableName, String sumindicatorname,String stationname);

    List<SumRainYearData> getYear3Month(String tableName, String sumindicatorname,String stationname, String y1, String y2, String m1, String m2);

    List<SumRainYearData> getYearMonth(String tableName, String sumindicatorname,String stationname, String y1, String y2, String m1);

    List<SumRainYearData> getYearTd(String tableName, String sumindicatorname,String stationname, String y1, String y2, String m, String tdhou);

    List<SumRainYearData> getYearHou(String tableName, String sumindicatorname,String stationname, String y1, String y2, String m, String tdhou);

    List<SumRainMonthData> getMonthAvg(String tableName, String sumindicatorname, String y1, String y2, String stationname);

    List<SumRainMonthData> getMonth(String tableName, String sumindicatorname, String stationname, String y1,String y2);

    List<SumRainDayData> getDay(String tableName, String sumindicatorname, String stationname, String y1,String y2);

    List<SumRainDayData> getDayCount(String tableName, String sumindicatorname, String stationname, String y1,String y2);

    List<SumRainTdData> getXunAvg(String tableName, String sumindicatorname, String y1, String y2, String stationname);

    List<SumRainTdData> getXun(String tableName, String sumindicatorname, String stationname, String y1,String y2);

    List<SumRainHouData> getHouAvg(String tableName, String sumindicatorname, String y1, String y2, String stationname);

    List<SumRainHouData> getHou(String tableName, String sumindicatorname, String stationname, String y1,String y2);

    List<SumRainDayData> getXunDay(String tableName, String sumindicatorname, String stationname, String y1,String y2);

    List<SumRainMonthData> getHighWater(String year,String months);

    List<SumRainMonthData> getHighWaterAvg(String year);
    List<SumRainMonthData> getHighWaterXqBefore(String year,String end);
    List<SumRainMonthData> getHighWaterXqAfter(String year,String end);

    List<SumRainMonthData> getHighWaterXq(String start,String end);

    List<SumRainMonthData> getHighWaterXqAvg(String start, String end);


    List<SumRainYearData> getYearDay(String optype, String tableName, String elementName, String stationName, String y1, String y2, String m1, String m2, String d1, String d2);

    List<SumRainDayData> getDayData1(String optype, String tableName, String elementName, String stationName, String start, String end);

    List<SumRainDayData> getDayData2(String optype, String tableName, String elementName, String stationName, String start, String end);
}
